In microelectronics and telecommunication systems, two or more separate asynchronous clock signals are often required. For example, in a telecommunication system, a module may generate a first clock signal that is synchronized to an external network clock and a second clock signal that is not synchronized (i.e. free-run) to the external network clock. If multiple modules require a free-run clock signal, it may be necessary to add a crystal oscillator clock to each module. Since crystal oscillator clocks are generally expensive, adding a crystal oscillator to each module may increase the total cost of a system. Other examples include a need for modules to use common clocks or for RAN sharing scenarios in which a single module typically receives two or more clock signals generated by two or more external networks sharing the same installation.
To avoid requiring each module to have its own crystal oscillator clock, a dedicated conductor (which may take the form of a wire, line, trace or via) may be used to transfer each clock signal from a core module to one or more peripheral modules. For example, a master CPU module may provide a synchronized clock signal and a free-run clock signal. A first conductor may be used to transfer the synchronized clock signal from the master CPU module to the peripheral modules and a second conductor may be used transfer the free-run clock signal from the master CPU module to the peripheral modules. However, two dedicated conductors may not always be available to transfer two clock signals. If only one conductor is available, both clock signals may not be available at all times in the peripheral modules. In such cases, one of the two clock signals may be selected at each module based on configuration parameters, and the selected clock signal may be transferred to the peripheral module.